
#ifndef EVENTHANDLER1_H_
#define EVENTHANDLER1_H_

#include "EventHandlerBase1.cpp"

template <typename ListenerT,typename ReturnT,typename ParamT>
class EventHandler1 : public EventHandlerBase1<ReturnT,ParamT>
{
    typedef ReturnT (ListenerT::*PtrMember)(ParamT);
    ListenerT* m_object;
    PtrMember m_member;

public:

    EventHandler1(ListenerT* object, PtrMember member)
        : m_object(object), m_member(member)
    {}

    ReturnT notify(ParamT param)
    {
        return (m_object->*m_member)(param);
    }
};


#endif /* EVENTHANDLER1_H_ */
